// FILE: IROM.h by Richard Hughes 27/04/2012
//
// DESC: Defines the IROM interface

#ifndef __irom_h__
#define __irom_h__

// INCLUDES
#include <string>
#include "Emulator.h"

// NAMESPACES
using namespace std;

namespace Emulator
{

/*************************************************************/
//
// INTERFACE: IROM
//
// DESC: Defines a ROM
//
/*************************************************************/

class IROM
{
public:

	virtual bool Load(string fileName) = 0;

	virtual bool UnLoad() = 0;

	virtual const bool IsLoaded() const = 0;

	virtual const byte* GetRawData() const = 0;

	virtual const int Size() const = 0;

}; // IROM

} // Emulator

#endif

// EOF: IROM.h